/****************************************************************************
*
* Description: Storage interface
* Module: 'storage.h'
* Created at: 24.06.06 17:05:04 UTC
*
* $Revision$
*
****************************************************************************/
#pragma once

#if !defined(__STORAGE_STORAGE_H__)
#define __STORAGE_STORAGE_H__

#include <common/defs.h>

namespace storage {

/* It's just a data storage abstraction that has name and contains
 * continuous block of data.  */
struct basic_storage
{
	typedef bytes_t	container_t;

	/* Return storage name.  */
    virtual std::string & name() = 0;

	/* Return storage data block.  */
    virtual container_t & data() = 0;
};

typedef basic_storage	storage_t;

} /* End of storage.  */

#endif  /* End of __STORAGE_STORAGE_H__.  */
